Object feature virtualization apparatus and methods

ABSTRACT

An object feature visualization system is disclosed. The system may include a computing device that generates video-mapped images to project onto physical objects. The video-mapped images may include features to be projected onto the objects. The projection of a video-mapped image onto the physical object allows for the visualization of the feature on the object. In some examples, the computing device receives a feature selection for a particular object, and generates a video-mapped image with the selected feature to provide to a projector to project the video-mapped image onto the physical object. In some examples, a user is able to select one or more features for one or more objects of a room display via a user interface. The system then projects video-mapped images with the selected features onto the physical objects. The system may allow a user to save feature selections, and to purchase or request additional information about objects with selected features.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/010,971 filed Sep. 3, 2020 titled “Object Feature VisualizationApparatus and Methods”, which claims the benefit of U.S. ProvisionalPatent Application No. 62/895,769, filed Sep. 4, 2019, titled “ObjectFeature Visualization Apparatus and Methods” the contents of which arehereby incorporated by reference in their entirety.

FIELD OF THE INVENTION

The disclosure relates generally to systems for interior and exteriordesign and, more particularly, to the digital display of objects forinterior and exterior design.

BACKGROUND

Manufacturers and suppliers of design materials, such as fabrics,flooring, paints, housewares, or any other design materials, often timesdisplay images of their materials for advertising purposes. For example,the design materials may be advertised to potential clients such asdesigners (e.g., interior or exterior designers) as well as end users(e.g., homeowners, businesses, etc.). Images of the materials may bedisplayed in magazines such as industry magazines, in showrooms, or atconferences, for example. Images of the materials may be also displayedon a website, such as a manufacturer's or supplier's website. In someexamples, videos that include the design materials may be displayed. Forexample, a manufacturer or supplier of a design material may display apromotional video of their design materials to potential clients in ashowroom.

SUMMARY

In some examples, a computing device includes at least one processor.The at least one processor is configured to receive first dataidentifying a selection of at least one feature for at least one object.In response to receiving the first data, the at least one processor isconfigured to obtain a video-mapped image characterizing the at leastone object with the at least one feature. The at least one processor isalso configured to provide the video-mapped image to at least oneprojecting device, where the projecting device is configured to projectthe video-mapped image onto the at least one object.

In some examples, a system includes a room display, a projecting deviceconfigured to project images onto the room display, and a computingdevice communicatively coupled to the projecting device. The computingdevice is configured to display an image of a scene including at leastone object. The computing device is further configured to receive firstdata identifying a selection of the at least one object and, in responseto the received first data, provide for display a plurality of featurecategories for the at least one object. The computing device is alsoconfigured to receive second data identifying a selection of a firstfeature category of the plurality of feature categories. In response tothe received second data, the computing device is configured to providefor display a plurality of features corresponding to the first featurecategory. Further, the computing device is configured to receive thirddata identifying a selection of a first feature of the plurality offeatures corresponding to the first feature category and, in response tothe received third data, obtain a video-mapped image characterizing theat least one object with the first feature. The computing device is alsoconfigured to provide the obtained video-mapped image to the projectingdevice.

In some examples, a method includes receiving first data identifying aselection of at least one feature for at least one object. The methodalso includes, in response to receiving the first data, obtaining avideo-mapped image characterizing the at least one object with the atleast one feature. Further, the method includes providing thevideo-mapped image to at least one projecting device, where theprojecting device is configured to project the video-mapped image ontothe at least one object.

In some examples, a method includes displaying an image of a sceneincluding at least one object. The method also includes receiving firstdata identifying a selection of the at least one object and, in responseto the received first data, providing for display a plurality of featurecategories for the at least one object. The method further includesreceiving second data identifying a selection of a first featurecategory of the plurality of feature categories. In response to thereceived second data, the method includes providing for display aplurality of features corresponding to the first feature category.Further, the method includes receiving third data identifying aselection of a first feature of the plurality of features correspondingto the first feature category and, in response to the received thirddata, obtaining a video-mapped image characterizing the at least oneobject with the first feature. The method also includes providing theobtained video-mapped image to the projecting device.

In some examples, a non-transitory, machine-readable storage mediumstores instructions that, when executed by at least one processor, causethe at least one processor to perform operations including receivingfirst data identifying a selection of at least one feature for at leastone object. The operations also include, in response to receiving thefirst data, obtaining a video-mapped image characterizing the at leastone object with the at least one feature. Further, the operationsinclude providing the video-mapped image to at least one projectingdevice, where the projecting device is configured to project thevideo-mapped image onto the at least one object.

In some examples, a non-transitory, machine-readable storage mediumstores instructions that, when executed by at least one processor, causethe at least one processor to perform operations including receivingfirst data identifying a selection of the at least one object and, inresponse to the received first data, providing for display a pluralityof feature categories for the at least one object. The operationsfurther include receiving second data identifying a selection of a firstfeature category of the plurality of feature categories. In response tothe received second data, the operations include providing for display aplurality of features corresponding to the first feature category.Further, the operations include receiving third data identifying aselection of a first feature of the plurality of features correspondingto the first feature category and, in response to the received thirddata, obtaining a video-mapped image characterizing the at least oneobject with the first feature. The operations also include providing theobtained video-mapped image to the projecting device.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the present disclosures will be morefully disclosed in, or rendered obvious by the following detaileddescriptions of example embodiments. The detailed descriptions of theexample embodiments are to be considered together with the accompanyingdrawings wherein like numbers refer to like parts and further wherein:

FIG. 1 illustrates an object feature visualization system in accordancewith some embodiments;

FIG. 2 illustrates an example of an object feature visualizationcomputing device of the object feature visualization system of FIG. 1 inaccordance with some embodiments;

FIG. 3A illustrates exemplary portions of the object featurevisualization system of FIG. 1 in accordance with some embodiments;

FIG. 3B illustrates an example user interface that may be provided bythe object feature visualization computing device of FIG. 2 inaccordance with some embodiments;

FIG. 4A illustrates an example of objects in a room display inaccordance with some embodiments;

FIG. 4B illustrates example object feature visualizations of at leastsome of the objects in the room display of FIG. 4A in accordance withsome embodiments;

FIG. 5A illustrates an example of objects in a room display inaccordance with some embodiments;

FIG. 5B illustrates example object feature visualizations of at leastsome of the objects in the room display of FIG. 5A in accordance withsome embodiments;

FIG. 6 illustrates an example method that may be performed by the objectfeature visualization system of FIG. 1 in accordance with someembodiments;

FIG. 7 illustrates another example method that may be performed by theobject feature visualization system of FIG. 1 in accordance with someembodiments; and

FIG. 8 illustrates yet another example method that may be performed bythe object feature visualization system of FIG. 1 in accordance withsome embodiments.

DETAILED DESCRIPTION

The description of the preferred embodiments is intended to be read inconnection with the accompanying drawings, which are to be consideredpart of the entire written description of these disclosures. It shouldbe understood, however, that the present disclosure is not intended tobe limited to the particular forms disclosed. Rather, the presentdisclosure covers all modifications, equivalents, and alternatives thatfall within the spirit and scope of these exemplary embodiments.

In this description, relative terms such as “horizontal,” “vertical,”“up,” “down,” “top,” “bottom,” as well as derivatives thereof (e.g.,“horizontally,” “downwardly,” “upwardly,” etc.) should be construed torefer to the orientation as then described or as shown in the drawingfigure under discussion. These relative terms are for convenience ofdescription and normally are not intended to require a particularorientation. Terms including “inwardly” versus “outwardly,”“longitudinal” versus “lateral” and the like are to be interpretedrelative to one another or relative to an axis of elongation, or an axisor center of rotation, as appropriate. The terms “couple,” “coupled,”“operatively coupled,” “operatively connected,” and the like should bebroadly understood to refer to connecting devices or components togethereither mechanically, electrically, wired, wirelessly, or otherwise, suchthat the connection allows the pertinent devices or components tooperate (e.g., communicate) with each other as intended by virtue ofthat relationship.

Turning to the drawings, FIG. 1 shows a block diagram of an objectfeature visualization system 100 that includes an object featurevisualization computing device 102, a plurality of projectors 104A,104B, 104C, 104D, 104E, and a database 116. Each projector may be, forexample, a digital light processing (DLP) projector, a liquid crystaldisplay (LCD) projector, or any other suitable image projecting device.Although in this example five projectors 104 are shown, in otherexamples a differing number of projectors may be employed by the objectfeature visualization system 100. Object feature visualization computingdevice 102 may be communicatively coupled to database 116 viacommunication network 118. Communication network 118 can be a ^(WiFi)®network, a cellular network such as a 3GPP® network, a Bluetooth®network, a satellite network, a wireless local area network (LAN), anetwork utilizing radio-frequency (RF) communication protocols, a NearField Communication (NFC) network, a wireless Metropolitan Area Network(MAN) connecting multiple wireless LANs, a wide area network (WAN), orany other suitable network. Communication network 118 can provide accessto, for example, the Internet. Object feature visualization computingdevice 102 may transmit data to, and receive data from, communicationnetwork 118.

Object feature visualization computing device 102 may also becommunicatively coupled to projectors 104, such as via a wired orwireless network. Although not indicated, in some examples objectfeature visualization computing device 102 is communicatively coupled toprojectors 104 via communication network 118.

Object feature visualization computing device 102 may include hardwareor hardware and software for processing and handling information. Forexample, object feature visualization computing device 102 may includeone or more processors, one or more field-programmable gate arrays(FPGAs), one or more application-specific integrated circuits (ASICs),one or more state machines, digital circuitry, or any other suitablecircuitry. In some examples, object feature visualization computingdevice 102 may be, for example, a web server, an application server, acloud-based server, a workstation, a laptop, a tablet, a mobile devicesuch as a cellular phone, or any other suitable computing device.

FIG. 2 illustrates more details of object feature visualizationcomputing device 102. As illustrated in FIG. 2 , object featurevisualization computing device 102 may include one or more processors201, a working memory 202, one or more input/output devices 203, aninstruction memory 207, a transceiver 204, one or more communicationports 207, and a display 206, all operatively coupled to one or moredata buses 208. Data buses 208 allow for communication among the variousdevices. Data buses 208 can include wired, or wireless, communicationchannels.

Processor(s) 201 can include one or more distinct processors, eachhaving one or more cores. Each of the distinct processors can have thesame or different structure. Processors 201 can include one or morecentral processing units (CPUs), one or more graphics processing units(GPUs), application specific integrated circuits (ASICs), digital signalprocessors (DSPs), and the like.

Processors 201 can be configured to perform a certain function oroperation by executing code, stored on instruction memory 207, embodyingthe function or operation. For example, processors 201 can be configuredto perform one or more of any function, method, or operation disclosedherein.

Instruction memory 207 can store instructions that can be accessed(e.g., read) and executed by processors 201. For example, instructionmemory 207 can be a non-transitory, computer-readable storage mediumsuch as a read-only memory (ROM), an electrically erasable programmableread-only memory (EEPROM), flash memory, a removable disk, CD-ROM, anynon-volatile memory, or any other suitable memory.

Processors 201 can store data to, and read data from, working memory202. For example, processors 201 can store a working set of instructionsto working memory 202, such as instructions loaded from instructionmemory 207. Processors 201 can also use working memory 202 to storedynamic data created during the operation of object featurevisualization computing device 102. Working memory 202 can be a randomaccess memory (RAM) such as a static random access memory (SRAM) ordynamic random access memory (DRAM), or any other suitable memory.

Input-output devices 203 can include any suitable device that allows fordata input or output. For example, input-output devices 203 can includeone or more of a keyboard, a touchpad, a mouse, a stylus, a touchscreen,a physical button, a speaker, a microphone, or any other suitable inputor output device.

Communication port(s) 207 can include, for example, a serial port suchas a universal asynchronous receiver/transmitter (UART) connection, aUniversal Serial Bus (USB) connection, or any other suitablecommunication port or connection. In some examples, the communicationport(s) 207 allows for the programming of executable instructions ininstruction memory 207. In some examples, the communication port(s) 207allow for the transfer (e.g., uploading or downloading) of data, such asmaterial data stored about materials displays by the object featurevisualization computing device 102.

Display 206 can display user interface 205. User interfaces 205 canenable user interaction with object feature visualization computingdevice 102. For example, user interface 205 can be a user interface foran application that allows for the viewing and manipulation of images ofmaterials as well as material data. In some examples, a user caninteract with user interface 205 by engaging input-output devices 203.

Transceiver 204 may be any suitable communication unit that allows forcommunication with a network, such as communication network 118 of FIG.1 . In some examples, transceiver 204 is selected based on the type ofcommunication network 118 object feature visualization computing device102 will be operating in. For example, if communication network 118 ofFIG. 1 is a WiFi® network, transceiver 204 is configured to allowcommunications with the WiFi® network. Processor(s) 201 is operable toreceive data from, or send data to, a network, such as communicationnetwork 118 of FIG. 1 , via transceiver 204.

Turning back to FIG. 1 , object feature visualization system 100 cansimulate how objects (e.g., floors, walls, furniture, fixtures, items)may look with differing object features by video-mapping (e.g., 3Dprojection mapping) images onto the actual objects. Features mayinclude, for example, materials (e.g., carpet, tile, wood), fabrics,colors, patterns, design elements, or any other object features. In someexamples, object feature visualization system 100 allows for the virtualselection of a physical object in a physical room display. Objectfeature visualization system 100 may also allow for the selection of aparticular feature for the selected object. Object feature visualizationsystem 100 may generate an image based on the selected feature for theobject, and video-map the generated image onto the physical object. Forexample, object feature visualization system 100 may project differentcolors, materials, finishes, or patterns onto a piece of furniture, awall, and a floor of a mini-room display in real time. As an advantage,object feature visualization system 100 may allow a person to observeand visualize how a room would look with objects of the roomincorporating varying features via video-map projections. For example,the objects being projected may accurately portray textures (e.g. carpetvs tile, fabric vs leather, different colors), shading or shadowing, andfinishes in different lighting (e.g. daylight vs. night or eveninglight). Additionally, the objects being projected may portray variouscombinations of features for one or more objects. For example, objectfeature visualization system 100 may project a selected feature onto apiece of furniture and another selected feature onto a wall, and anotherselected feature onto flooring in a room display. In another example,object feature visualization system 100 may allow for the selection ofmore than one feature for a selected object, such as a first color,material, finish, or pattern for kitchen cabinets and a second color,material, finish or pattern for the countertops. The various featurescan be selected and changed by a user in real time. As such, objectfeature visualization system 100 may allow the person to make interiordesign choices by reviewing how the objects look with the variousprojected features.

In some examples, object feature visualization computing device 102 maycause one or more projectors 104A, 104B, 104C, etc. to project one ormore video-mapped images onto one or more objects of room display 150.For example, room display 150 can include various objects, such as backwall 171, sidewall 175, floor 173, picture frame 152, chair 154, table156, rug 158, shelving 160, and flower vase 162. The illustrated objectsare merely exemplary and by no means limit the present disclosures.

In some examples, projectors 104A, 104B, 104C, etc. are preconfigured(e.g., oriented and positioned) to direct an image to a portion of roomdisplay 150. For example, projector 104A may be preconfigured to projecta video-mapped image onto one or more of sidewall 175 and chair 154.Similarly, projector 104B may be preconfigured to project a video-mappedimage onto one or more of rug 158, table 156, and portions of back wall171; projector 104C may be preconfigured to project a video-mapped imageonto one or more of portions of floor 173 and portions of back wall 171;projector 104D may be preconfigured to project a video-mapped image ontoone or more of shelving 160 and flower vase 162; and projector 104E maybe preconfigured to project a video-mapped image onto or more ofportions of back wall 171 and floor 173. In some examples, objectfeature visualization computing device 102 can control a projectiondirection of each projector 104. For example, object featurevisualization computing device 102 may be operable to send messages toeach of the projectors 104 to control a direction and/or zoom of theircorresponding image projections.

Object feature visualization computing device 102 may provide thevideo-mapped images to each of projectors 104A, 104B, 104C, etc. basedon, for example, a selection of one or more features for each object. Asan example, object feature visualization computing device 102 mayreceive a selection of a color, such as white, for chair 154. Inresponse, object feature visualization computing device 102 may providea video-mapped image that includes a white chair image to projector 104Ato be projected onto chair 154.

FIG. 3A illustrates exemplary portions of the object featurevisualization system 100 of FIG. 1 that may determine objects in ascene, such as objects of room display 150. In this example, objectfeature visualization computing device 102 is communicatively coupled toa plurality of cameras via communication network 118. Specifically,object feature visualization computing device 102 is communicativelycoupled to camera 302A, camera 302B, and camera 302C. Each of thecameras 302A, 302B, 302C may be a full-color camera configured tocapture full-color images of a scene, video cameras, or any othersuitable cameras. Although in this example three cameras 302A, 302B,302C are illustrated, other examples may include fewer, or more, cameras302. Each of cameras 302 may be configured to capture at least a portionof room display 150. For example, camera 302A may be configured tocapture a left portion of room display 150, camera 302B may beconfigured to capture a middle portion of room display 150, and camera302C may be configured to capture a right portion of room display 150.In some examples, the field of view of each of the cameras 302 mayoverlap, at least in part, with each other (as indicated in FIG. 3A bythe dashed lines). In some examples, the field of view of each of thecameras do not overlap with each other.

In some examples, object position data 310 may be pre-stored in database116. For example, the position of each object in room display 150 may bepredetermined and stored in database 116. For example, object positiondata 310 may identify a position (e.g., outline) of each of a pluralityof objects, such as sidewall 175, back wall 171, chair 154, and table156.

In some examples, rather than or in addition to utilizing predeterminedobject position data 310, cameras 302 may be utilized in real-time tocapture images and identify objects within the images. For example,object feature visualization computing device 102 may receive one ormore images from one or more of the cameras 302, and identify objects inthe images. To detect the objects, object feature visualizationcomputing device 102 may employ any suitable object detection techniqueor process. For example, object feature visualization computing device102 may employ one or more machine-learning based approaches, such asone that identifies features based on a histogram of oriented gradients(HOG) and includes a classifier to determine objects, to identifyobjects in the images. In some examples, object feature visualizationcomputing device 102 may employ one or more deep-learning basedapproaches, such as one based on convolutional neural networks (CNN), toidentify objects in the images. Based on the technique or processemployed, object feature visualization computing device 102 may generatedata identifying the position of each object within an image provided bya camera 302. For example, object feature visualization computing device102 may generate coordinate data that identifies coordinates thatinclude or outline an object within an image from a particular camera302. In some examples, object feature visualization computing device 102generates pixel data that identifies pixel positions that include oroutline an object in an image.

Based on the detected objects from one or more cameras 302, objectfeature visualization computing device 102 generates object positiondata 310 identifying and characterizing the position of each detectedobject in room display 150. For example, object feature visualizationcomputing device 102 may determine a position of each object in roomdisplay 150 based on the field of view of the camera that captured theimage with the object (e.g., how much or what part of room display 150is the camera 302 capturing), the data identifying the position of theobject within the captured image, and dimensions of room display 150(e.g., 3D dimensions such as total height, total length, and totalwidth). Object feature visualization computing device 102 may storeobject position data 310 in database 116.

Based on object position data 310 for each predetermined or detectedobject, object feature visualization computing device 102 may generate avideo-mapped image, and cause a corresponding projector 104 to projectthe video-mapped image onto the object. For example, based on objectposition data 310 for a particular object, object feature visualizationcomputing device 102 may generate a video-mapped image that, whenprojected by a particular projector 104, will project onto only thephysical object identified by object position data 310. The generatedvideo-mapped image may include an overlay of the object with a selectedfeature (e.g., a different color, a different material, a differentpattern, etc.).

For example, object feature selection data 312, which is stored indatabase 116, may identify features for each of a plurality of objectsin room display 150. Object feature selection data 312 may bepreconfigured and stored in database 116 by object feature visualizationcomputing device 102, for example. As described below with respect toFIG. 3B, a user may select a feature, identified and characterized byobject feature selection data 312, for a particular object. Based on theselected feature, object feature visualization computing device 102 maygenerate a video-mapped image to project onto the particular object thatincludes the selected feature (e.g., a color selected for a wall object,such as back wall 171). Object feature visualization computing device102 may then cause a projector 104, such as one that is configured toproject onto the particular object (e.g., projector 104C to project ontoportions of back wall 171), to project the video-mapped image onto theparticular object. In some examples, if more than one projector 104 isconfigured to project images onto an object (e.g., such as projectors104B, 104C, 104E project on back wall 171), object feature visualizationcomputing device 102 generates a video-mapped image for each suchprojector 104, where each of the generated video-mapped images includethe feature.

In some examples, object feature visualization computing device 102 maygenerate a video-mapped image that, when projected by a particularprojector 104, will project onto a plurality of objects. For example,the video-mapped image may include features selected for each object,such as a color or material for each object. In some examples, objectfeature visualization computing device 102 removes all brightness andcolor (e.g., luminance and chrominance) from portions of thevideo-mapped image that would project onto areas that do not fall on anobject (e.g., areas in-between the objects).

FIG. 3B illustrates an example user interface 205 that may be displayed,for example, on display 206 (as illustrated in FIG. 2 ) of objectfeature visualization computing device 102. For example, display 206 maybe a touchscreen, where user interface 205 is displayed on thetouchscreen and allows for user input based on user touch. In someexamples, user input may be provided by one or more input/output devices203. As illustrated in FIG. 3B, user interface 205 may include an objectselection pane 352, a feature selection pane 354, and a user commandpane 355.

Object selection pane 352 may display one or more objects of roomdisplay 150. In some examples, object selection pane 352 displays aselectable list of the objects (e.g., preconfigured objects, or objectsobject feature visualization computing device 102 detected in imagesreceived from cameras 302, as identified by object position data 310).By engaging (e.g., touching) at least a portion of a displayed object, auser may select the object.

In some examples, object selection pane 352 displays an image of roomdisplay 350. For example, object feature visualization computing device102 may render an image based on images received from cameras 302, anddisplay the rendered image in object selection pane 352. In someexamples, an image of room display 350 is predetermined and stored indatabase 116 for display. The displayed image of room display 350 mayallow a user to select one or more objects displayed in the image by,for example, engaging (e.g., touching) at least a portion of the objectas displayed.

In this example, when a user selects an object, the feature selectionpane 354 automatically updates with one or more feature categories andone or more possible features for each feature category that a user mayselect. For example, based on the selected object in object selectionpane 352, feature selection pane 354 may display feature categoriesincluding materials 356, colors 358, and patterns 360. The displayedfeature categories may be based on the type of object and possiblefeatures for that type of object. In addition, each feature category mayinclude one or more features corresponding to that feature category,where a user can select a feature for each category for the object. Eachfeature category and corresponding features for each object may beidentified and characterized by, for example, object feature selectiondata 312, which may be stored in database 116.

For example, assume that a user uses object selection pane 352 to selecttable 156 of room display 350. Feature selection pane 354 may thenautomatically update and display feature categories including materials356, colors 358, and patterns 360. The user may then be able to select amaterial (e.g., wood or plastic) under materials 356, a color (e.g.,white or black) under colors 358, and a pattern (e.g., flowers or oceantheme) under patterns 360. A user may also decide not to select afeature under a particular feature category. In that event, objectfeature visualization computing device 102 would generate a video-mappedimage to project onto the object with only the selected features.

User command panel 355 may include a save selections icon 357. Saveselections icon 357, if engaged (e.g., touched) by a user, causes objectfeature visualization computing device 102 to save the selected featuresfor the selected object for the user. The selected features may be savedin database 116, for example, and may be associated with an account forthe user.

In some examples, user command panel 355 may include an add selection tocart icon 359. Add selection to cart icon 359 facilitates a purchase ofa selected object with the selected features by adding the object withthe selected features to an online shopping cart.

In some examples, the online shopping cart may allow the user to place apurchase order for those items located added to the online shoppingcart. In some examples, rather than placing a purchase order directly,the placement of the purchase order causes object feature visualizationcomputing device 102 to transmit a communication to each manufacturer ofeach object in the online cart. The communication may be an electronicmail (email), a short message service (SMS) message, or any othersuitable communication. The communication may identify the user, theobject, and the selected features of the object. The communication maythen allow the manufacturer, retailer, and/or one of theirrepresentatives to contact the user for sale of, or additionalinformation about, the object with the selected features. In someexamples, a communication is transmitted to the user with manufacturer,retailer, and/or other representative contact information.

FIG. 4A illustrates a room display 402 from a point of view of a personphysically standing in front of the room display 402. Room display 402includes a plurality of objects in a room before the projecting of anyvideo-mapped images by object feature visualization computing device 102onto any of the objects. For example, room display 402 includes a chair404, a first chair pillow 406, a second chair pillow 408, shelving 410,flooring 412, and walls 414, among other objects. The chair 404, firstchair pillow 406, and second chair pillow 408 include a first material416 with a first pattern 418 at a first color 420. In some embodiments,the first material 416, first pattern 418 and the first color 420 can beselected to allow for optimal projection of video-mapped images. Forexample, the first pattern 418 and first color 420 can be plain white,while the first material 416 can be selected from optimal displayproperties.

FIG. 4B illustrates the same room display 402 of FIG. 4A, but with theprojection of video-mapped images by object feature visualizationcomputing device 102 onto chair 404, first chair pillow 406, and secondchair pillow 408. For example, object feature visualization computingdevice 102 may display the objects in room display 402 (including chair404, first chair pillow 406, and second chair pillow 408) on a userinterface, such as user interface 205. The user may select chair 404,and the user interface may display categories of features for the chair404. For example, the feature categories may include materials (e.g.,materials 356), patterns (e.g., patterns 360), and colors (e.g., colors358). The materials category may include selections for first material416 and a second material 456. The patterns category may includeselections for a first pattern 418 and a second pattern 458. The colorscategory may include selections for a first color 420 and a second color460. The user may select a feature for one or more of the featurecategories.

In this example, the user selects a second material 456, a secondpattern 458, and a second color 460 for chair 404. In response, objectfeature visualization computing device 102 generates a video-mappedimage based on object position data for chair 404 that includes secondmaterial 456, second pattern 458, and second color 460. Object featurevisualization computing device 102 may provide the generatedvideo-mapped image to a projector configured to project images ontochair 404, such as one of projectors 104. For example, when projector104 projects video-mapped image onto chair 404, chair 404 would appearto an outside person physically observing room display 402 to havesecond material 456, second pattern 458, and second color 460, ratherthan first material 416, first pattern 418, and first color 420, asillustrated in FIG. 4B.

Similarly, the user may select first chair pillow 406, and the userinterface may display categories of features for first chair pillow 406,where each category includes selectable features for the first chairpillow 406. In this example, the user selects, a second material 456, asecond pattern 458, and a second color 460 for first chair pillow 406.In response, object feature visualization computing device 102 generatesa video-mapped image based on object position data for first chairpillow 406 that includes second material 456, second pattern 458, andsecond color 460. Object feature visualization computing device 102 mayprovide the generated video-mapped image to a projector configured toproject images onto first chair pillow 406, such as one of projectors104.

The user may also select second chair pillow 408, and the user interfacemay display categories of features for second chair pillow 408, whereeach category includes selectable features for the second chair pillow408. In this example, the user selects a second material 456, a secondpattern 458, and a second color 460 for second chair pillow 408. Inresponse, object feature visualization computing device 102 generates avideo-mapped image based on object position data for second chair pillow408 that includes second material 456, second pattern 458, and secondcolor 460. Object feature visualization computing device 102 may providethe generated video-mapped image to a projector configured to projectimages onto second chair pillow 408, such as one of projectors 104.

FIG. 5A illustrates a room display 502 from a point of view of a personphysically standing in front of the room display 502. Room display 502includes a plurality of objects in a room before the projecting of anyvideo-mapped images by object feature visualization computing device 102onto any of the objects. For example, room display 502 includes showertile 504, wall tile 506, vanity 508, and frame 510, among other objects.The wall tile 506 includes a first material 516 with a first pattern 518at a first color 520. In some embodiments, the first material 516, firstpattern 518, and the first color 520 can be selected to allow foroptimal projection of video-mapped images. For example, the firstpattern 518 and first color 520 can be plain white and the firstmaterial 516 can be selected for optimal display properties.

FIG. 5B illustrates the same room display 502 of FIG. 5A, but with theprojection of a video-mapped image by object feature visualizationcomputing device 102 onto wall tile 506. For example, object featurevisualization computing device 102 may display the objects in roomdisplay 502 (including wall tile 506) on a user interface, such as userinterface 205. The user may select wall tile 506, and the user interfacemay display categories of features for the wall tile 506. For example,the feature categories may include materials (e.g., materials 356),patterns (e.g., patterns 360), and colors (e.g., colors 358). Thematerials category may include selections for first material 516 and asecond material 556. The patterns category may include selections forfirst pattern 518 and a second pattern 558. The colors category mayinclude selections for first color 520 and a second color 560. The usermay select a feature for one or more of the feature categories.

In this example, the user selects, for wall tile 506, a color categoryfeature of second color 560. The user does not select a materialcategory feature or a pattern category feature. In response, objectfeature visualization computing device 102 generates video-mapped imagesbased on object position data for wall tile 506 that includes secondcolor 560. Object feature visualization computing device 102 may providethe generated video-mapped images to a plurality of projectorsconfigured to project images onto wall tile 506, such as a plurality ofprojectors 104. For example, object feature visualization computingdevice 102 may generate a video-mapped image for a first projector thatcan project an image onto a back wall 570, and generate anothervideo-mapped image for a second projector that can project an image ontoa side wall 580. When first projector and second projector project thevideo-mapped images onto the respective portions of wall tile 506, walltile 506 would appear to an outside person physically observing roomdisplay 502 to have second color 560 rather than first color 520, asillustrated in FIG. 5B.

In some examples, feature categories for materials can include by typeof material (e.g. textile, paint, laminate, ceramic, wood, leather,stone, resin, film, glass, concrete, vinyl, rubber, cork, pearl andseashell, paper, etc.), by application (e.g. wallcovering, upholstery,flooring, carpet, trim, indoor, outdoor, commercial, residential, etc.),by other features (e.g. stain-resistant, waterproof, recycled content,low VOCs, etc.), and/or by brand name or manufacturer. Featurecategories can also include color categories (e.g. grays, blues, reds,etc.) or pattern categories (e.g., stripes, animal prints, etc.).Feature categories can also include themes (e.g. Victorian, Art Deco,Rustic, Coastal, etc.).

FIG. 6 illustrates a flowchart of an example method 600 that may becarried out by, for example, the object feature visualization computingdevice 102 of FIG. 1 . Beginning at step 602, image data is receivedfrom at least one camera. For example, object feature visualizationcomputing device 102 may receive image data from one or more cameras302. At step 604, at least one object in the received image data isdetermined. For example, object feature visualization computing device102 may execute one or more machine-learning or deep-learning basedprocesses to identify at least one object in the image data receivedfrom cameras 302. Proceeding to step 606, a selection for at least onefeature of the at least one object is received. As an example, objectfeature visualization computing device 102 may display a user interface205 on display 206 allowing a user to select one or more features forthe object, as described above with respect to FIG. 3B.

At step 608, a video-mapped image characterizing the at least one objectwith the selected at least one feature is generated. For example, objectfeature visualization computing device 102 may generate the video-mappedimage based on the selected features such that, when projected on thephysical object, the projected video-mapped image changes the appearanceof the physical object in accordance with the selected features.Proceeding to step 610, at least one projecting device is directed toproject the generated video-mapped data onto the at least one object. Asan example, object feature visualization computing device 102 mayprovide the generated video-mapped image to a projector 104 configuredto project images onto the corresponding physical object, such as thechair 154 located in room display 150. In some examples, object featurevisualization computing device 102 may control the projector to adjust adirection and zoom of its image projection, such that the projector 104will project the video-mapped image onto the corresponding physicalobject.

FIG. 7 illustrates a flowchart of another example method 700 that may becarried out by, for example, the object feature visualization computingdevice 102 of FIG. 1 . Beginning at step 702, an image of a scenecomprising at least one object is displayed. For example, object featurevisualization computing device 102 may display a user interface 205 ondisplay 206 that includes an object selection pane 352 that displaysobjects in room display 150, as described above with respect to FIG. 3B.

At step 704, a selection of the at least one object is received. As anexample, object feature visualization computing device 102 may displayuser interface 205 on display 206 that includes an object selection pane352 that allows the user to select an object, as described above withrespect to FIG. 3B. At step 706, a plurality of feature categories forthe at least one object are displayed. As an example, object featurevisualization computing device 102 may display user interface 205 ondisplay 206 that includes a feature selection pane 354 allowing the userto select one or more features for the object, as described above withrespect to FIG. 3B.

At step 708, a selection of a feature category of the displayedplurality of feature categories is received. For example, the user mayengage one of the plurality of feature categories displayed in featureselection pane 354 and, in response, object feature visualizationcomputing device 102 receives the selected feature category. At step710, a plurality of features for the selected feature category aredisplayed. For example, feature selection pane 354 may include adrop-down menu that displays features for the feature category when auser selects the feature category. At step 712, a selection of a featureof the displayed plurality of features for the selected feature categoryis received. For example, the user may select one of the features in thedrop-down menu and, in response, object feature visualization computingdevice 102 receives the selected feature.

Proceeding to step 714, a video-mapped image is obtained based on theposition. The video-mapped image includes image data characterizing theat least one object with the selected feature. For example, objectfeature visualization computing device 102 may obtain predeterminedobject video-image data 315 corresponding to the selected object and theselected features. Predetermined object video-image data 315 may havebeen previously generated and stored in database 116, for example. Atstep 716, at least one projecting device is directed to project theobtained video-mapped image onto the at least one object. For example,object feature visualization computing device 102 may provide theobtained video-mapped image to a projector 104 configured to projectimages onto the corresponding physical object, such as the back wall 171located in room display 150. In some examples, object featurevisualization computing device 102 may control the projector to adjust adirection and/or zoom of its image projection, such that the projector104 will project the video-mapped image onto the corresponding physicalobject.

FIG. 8 illustrates a flowchart of another example method 800 that may becarried out by, for example, the object feature visualization computingdevice 102 of FIG. 1 . Beginning at step 802, object featurevisualization computing device 102 receives an indication that a userhas placed an order (e.g., via an online shopping cart). The user mayhave placed the order for objects placed into the online shopping cartusing the add selection to cart icon 359 of user interface 205. At step804, in response to the indication, object feature visualizationcomputing device 102 determines a manufacturer associated with eachobject in the online cart. For example, object feature visualizationcomputing device 102 may determine each manufacture based on object datastored in database 116. The object data may include information abouteach object, including an identification of the manufacturer and, insome examples, available features for each object. At step 806, objectfeature visualization computing device 102 transmits a communication toeach manufacturer of each object in the online cart. The communicationmay be an email, a SMS message, or any other suitable communication.Each communication may identify the user, each corresponding object, andany selected features for each object. The communication may allow eachmanufacturer to contact the user for the sale of, or additionalinformation about, each object with the selected features.

In some examples, a computing device, such as object featurevisualization computing device 102, includes at least one processor thatis configured to receive first data identifying a selection of at leastone feature for at least one object, and in response to receiving thefirst data, obtain a video-mapped image characterizing the at least oneobject with the at least one feature. The at least one processor is alsoconfigured to provide the video-mapped image to at least one projectingdevice, wherein the projecting device is configured to project thevideo-mapped image onto the at least one object.

In some examples, the at least one processor is further configured toreceive image data from at least one camera, and determine the at leastone object in the received image data based on applying one or moremachine-learning or deep-learning based processes to the received imagedata. In some examples, the computing device determines the at least oneobject in the received image data based on applying a histogram oforiented gradients (HOG) to the received image data to identifyfeatures, and applying a classifier to the identified features todetermine the at least one object.

In some examples, the at least one processor is configured to determinethe at least one object in the received image data by generatingposition data identifying the position of each object within thereceived image data.

In some examples, the at least one processor is configured to providethe video-mapped image to at least one projecting device by generatingthe video-mapped image based on the position data. The computing deviceis also configured to store the video-mapped image in a database, suchas database 116.

In some examples, the at least one processor is configured to providefor display object selection data identifying a plurality of objects,wherein each object corresponds to a physical object in a room display,and wherein the plurality of objects includes the at least one object.In some examples, the at least one processor is configured receivesecond data identifying a selection of the at least one object and, inresponse to the received second data, the at least one processor isconfigured to provide for display feature selection data identifying aplurality of features for the at least one object, wherein the pluralityof features includes the at least one feature.

In some examples, the at least one processor is configured to receivethird data identifying a selection of the at least one feature, whereobtaining the video-mapped image characterizing the at least one objectwith the at least one feature includes selecting the video mapped imagefrom a plurality of video-mapped images characterizing the at least oneobject based on the third data.

In some examples, a system includes a room display, a projecting deviceconfigured to project images to the room display, and a computing devicecommunicatively coupled to the at least one projecting device. Thecomputing device is configured to display an image of a scene includingat least one object. The computing device is also configured to receivefirst data identifying a selection of the at least one object and, inresponse to the received first data, provide for display a plurality offeature categories for the at least one object. The computing device isfurther configured to receive second data identifying a selection of afirst feature category of the plurality of feature categories and, inresponse to the received second data, provide for display a plurality offeatures corresponding to the first feature category. The computingdevice is also configured to receive third data identifying a selectionof a first feature of the plurality of features corresponding to thefirst feature category and, in response to the received third data,obtain a video-mapped image characterizing the at least one object withthe first feature. The computing device is further configured to providethe obtained video-mapped image to the projecting device.

In some examples, the computing device is configured to select thevideo-mapped image from a plurality of video-mapped images stored in adatabase based on the third data, each of the plurality of video-mappedimages characterizing the at least one object with a varying feature.

In some examples, the computing device is configured to adjust adirection of the projecting device such that the projecting deviceprojects the video-mapped image onto the at least one object.

In some examples, the at least one object includes walls, flooring,fixtures, furniture, decor, or other interior design elements. In someexamples, the at least one feature for the at least one object isselected from at least one of: type of materials, colors, finishes, orpatterns.

In some examples, the computing device is configured to receive imagedata from the projecting device, and determine the at least one objectin the received image data based on applying one or moremachine-learning or deep-learning based processes to the received imagedata.

In some examples, determining the at least one object in the receivedimage data includes applying a histogram of oriented gradients (HOG) tothe received image data to identify features, and applying a classifierto the identified features to determine the at least one object.

In some examples, determining the at least one object in the receivedimage data includes generating position data identifying the position ofeach object within the received image data. In some examples, providingthe video-mapped image to at least one projecting device includesgenerating the video-mapped image based on the position data. In someexamples, the computing device stores the video-mapped image in adatabase.

In some examples, a method includes receiving first data identifying aselection of at least one feature for at least one object and, inresponse to receiving the first data, obtaining a video-mapped imagecharacterizing the at least one object with the at least one feature.The method also includes providing the video-mapped image to at leastone projecting device, where the projecting device is configured toproject the video-mapped image onto the at least one object.

In some examples, the method includes receiving image data from at leastone camera, and determining the at least one object in the receivedimage data based on applying one or more machine-learning ordeep-learning based processes to the received image data.

In some examples, the method includes applying one or moremachine-learning or deep-learning based processes includes applying ahistogram of oriented gradients (HOG) to the received image data toidentify features, and applying a classifier to the identified featuresto determine the at least one object.

In some examples, determining the at least one object in the receivedimage data includes generating position data identifying the position ofeach object within the received image data.

In some examples, providing the video-mapped image to at least oneprojecting device includes generating the video-mapped image based onthe position data. In some examples, the method includes storing thevideo-mapped image in a database.

Although the methods described above are with reference to theillustrated flowcharts, it will be appreciated that many other ways ofperforming the acts associated with the methods can be used. Forexample, the order of some operations may be changed, and some of theoperations described may be optional.

In addition, the methods and systems described herein can be at leastpartially embodied in the form of computer-implemented processes andapparatus for practicing those processes. The disclosed methods may alsobe at least partially embodied in the form of tangible, non-transitorymachine-readable storage media encoded with computer program code. Forexample, the steps of the methods can be embodied in hardware, inexecutable instructions executed by a processor (e.g., software), or acombination of the two. The media may include, for example, RAMs, ROMs,CD-ROMs, DVD-ROMs, BD-ROMs, hard disk drives, flash memories, or anyother non-transitory machine-readable storage medium. When the computerprogram code is loaded into and executed by a computer, the computerbecomes an apparatus for practicing the method. The methods may also beat least partially embodied in the form of a computer into whichcomputer program code is loaded or executed, such that, the computerbecomes a special purpose computer for practicing the methods. Whenimplemented on a general-purpose processor, the computer program codesegments configure the processor to create specific logic circuits. Themethods may alternatively be at least partially embodied in applicationspecific integrated circuits for performing the methods.

The foregoing is provided for purposes of illustrating, explaining, anddescribing embodiments of these disclosures. Modifications andadaptations to these embodiments will be apparent to those skilled inthe art and may be made without departing from the scope or spirit ofthese disclosures.

What is claimed is:
 1. A visualization system, comprising: anon-transitory storage medium storing instructions; and at least oneprocessor that executes the instructions to: determine a mapped imagethat corresponds to a design material mapped to at least one surface;reduce brightness and color from a portion of the mapped imagecorresponding to an area next to an object onto which the mapped imageis mapped; and use projecting devices to project the mapped image ontothe at least one surface.
 2. The visualization system of claim 1,wherein the at least one processor generates the mapped image by:selecting an image of the design material; mapping the image to the atleast one surface.
 3. The visualization system of claim 2, wherein theat least one processor generates the mapped image in response toreceiving a selection from a user.
 4. The visualization system of claim3, wherein the at least one processor generates the mapped image upondetermining that the mapped image is not retrievable from a database. 5.The visualization system of claim 2, wherein the at least one processorstores the mapped image in a database.
 6. The visualization system ofclaim 1, wherein the at least one processor retrieves the mapped imagefrom a database.
 7. The visualization system of claim 6, wherein the atleast one processor retrieves the mapped image from the database inresponse to user input.
 8. The visualization system of claim 1, whereinthe at least one surface comprises at least a portion of a wall, afloor, or the object.
 9. The visualization system of claim 1, whereinthe projection of the mapped image includes shading.
 10. Thevisualization system of claim 1, wherein the design material comprises awall covering.
 11. The visualization system of claim 1, wherein the atleast one processor provides a selection option to a user regarding atleast one of the design material or the at least one surface.
 12. Thevisualization system of claim 1, wherein the at least one processorplaces an order for the design material.
 13. The visualization system ofclaim 1, wherein the projection of the mapped image includes one of aset of different lightings.
 14. The visualization system of claim 13,wherein the set of different lightings comprises daylight lighting,night lighting, or evening lighting.
 15. The visualization system ofclaim 1, wherein the design material comprises: carpet; tile; wood;fabric; stone; or leather.
 16. The visualization system of claim 1,wherein the projection of the mapped image includes shadowing.
 17. Amethod, comprising: determining, using at least one processor, a mappedimage that corresponds to a design material mapped to at least onesurface; reducing, using the at least one processor, brightness andcolor from a portion of the mapped image corresponding to an area nextto an object onto which the mapped image is mapped; and using projectingdevices to project the mapped image onto the at least one surface. 18.The method of claim 17, further comprising generating the mapped image.19. The method of claim 17, further comprising placing an order for thedesign material.
 20. The method of claim 17, further comprisingcapturing a simulation image of the at least one surface with the mappedimage projected thereon to provide to a display device.